//package com.atguigu.minio.controller;
//
//import com.atguigu.minio.service.FileService;
//import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.Parameter;
//import io.swagger.v3.oas.annotations.enums.ParameterIn;
//import io.swagger.v3.oas.annotations.tags.Tag;
//import jakarta.annotation.Resource;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.multipart.MultipartFile;
//
//@RestController
//@RequestMapping("/admin/file")
////swagger描述接口模块的注解
//@Tag(name = "文件管理模块")
//public class FileController {
//    @Resource
//    FileService fileService;
//    /*
//        javaweb 文件上传：
//            前端表单 不会对上传文件进行编码，将上传的文件 每个封装为一个部件来提交
//               前端会创建一个uuid作为分隔符 把一个部件的 类型、名称、以及文件流 封装提交到后端
//
//            后端springmvc使用了 IOUtil + FileUpload 工具包 读取输入流，使用fileUpload按照分隔符解析请求体的文件内容
//            ， 解析后 每个部件解析为一个  MultipartFile对象(后端接收时 使用上传的组件名称当作键使用MultipartFile当作值映射)
//     */
//    //1、文件上传接口
//    //描述接口的注解
//    @Operation(summary = "文件上传")
//    @PostMapping("/upload")
//    public String upload( @RequestParam("file") MultipartFile file){
//        //上传文件后返回文件的路径 给前端回显
//        return fileService.upload(file);
//    }
//    //2、删除文件接口
//    @Operation(summary = "删除文件")
//    @DeleteMapping("delete")
//    //in = ParameterIn.QUERY 表示swagger文档中 该参数描述时 参数传参的位置是哪里
//    // PATH路径参数  HEADER头
//    public String delete(@Parameter(in = ParameterIn.QUERY , description = "要删除文件的完整路径",
//            example = "http://cadasdsad:9000/adsad.jpg")@RequestParam("path")String path){
//        return fileService.delete(path);
//    }
//
//}
